//package com.gopay.bis.server;
//
//import java.io.IOException;
//import java.net.ServerSocket;
//import java.net.Socket;
//import java.util.Map;
//
//import javax.servlet.ServletContext;
//
//import org.apache.commons.logging.Log;
//import org.apache.commons.logging.LogFactory;
//import org.springframework.context.ApplicationContext;
//import org.springframework.web.context.support.WebApplicationContextUtils;
//
//import com.gopay.bis.listener.CbRmbServerSocketListener;
//import com.gopay.common.cps.dao.cbrmb.CbRmbBankMessageDtlDao;
//import com.gopay.common.cps.dao.cbrmb.CbRmbBankOrderDtlDao;
//import com.gopay.common.cps.dao.cbrmb.CbRmbBankOrderMessageRelDao;
//import com.gopay.common.cps.dao.cbrmb.CbRmbTranAssistDtlDao;
//import com.gopay.remote.cps.cbrmb.CbrmbBankCallbackRemoteService;
//
///**
// * 
// * @ClassName: CbRmbSocketThread 
// * @Description: 单独启动一个线程去等待客户端连接 
// * @author gd.cui 
// * @date 2016年7月11日 上午11:44:49 ww.gopay.com.cn Inc.All rights reserved.
// */
//public class CbRmbSocketThread extends Thread {
//    
//    private static Log logger = LogFactory.getLog(CbRmbServerSocketListener.class);
//
//    private ServletContext servletContext;
//
//    private ServerSocket serverSocket;
//    
//
//
//	
//	private Map<String, String> cbrConfig;
//
//    @SuppressWarnings("unchecked")
//	public void init() {
//    	ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext);
//        cbrConfig = (Map<String, String>) context.getBean("cbrConfig");
//    }
//
//    public CbRmbSocketThread(ServerSocket serverSocket, ServletContext servletContext) {
//        this.servletContext = servletContext;
//        init();
//        logger.error("===================this is portal"+Integer.valueOf(cbrConfig.get("gopay.socket.port")));
//        if (serverSocket == null) {
//            try {
//                this.serverSocket = new ServerSocket(Integer.valueOf(cbrConfig.get("gopay.socket.port")));
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
//    }
//
//    public void run() {
//        logger.error("********** cbrmb service start CbRmbSocketThread ");
//        while (!this.isInterrupted()) {
//            try {
//                Socket socket = serverSocket.accept();
//                if (socket != null&&!socket.getInetAddress().toString().contains("211.88.2.245")
//                		&&!socket.getInetAddress().toString().contains("211.88.2.251")
//                		&&!socket.getInetAddress().toString().contains("211.88.2.71")
//                		&&!socket.getInetAddress().toString().contains("211.88.2.72")
//                		&&!socket.getInetAddress().toString().contains("210.13.252.2")) {
//                	logger.error("socket数据信息:1*******"+socket.toString());
//                    new CbRmbProcessSocketData(socket, this.servletContext).start();
//                }
//
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//
//        }
//    }
//
//    public void closeServerSocket() {
//
//        try {
//            if (serverSocket != null && !serverSocket.isClosed()) {
//                serverSocket.close();
//            }
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//
//	public Map<String, String> getCbrConfig() {
//		return cbrConfig;
//	}
//
//	public void setCbrConfig(Map<String, String> cbrConfig) {
//		this.cbrConfig = cbrConfig;
//	}
//    
//    
//
//}
